package com.wkbb.sports.service;

import com.github.pagehelper.PageInfo;
import com.wkbb.common.base.BaseService;
import com.wkbb.common.dto.ResultDTO;
import com.wkbb.sports.dto.TeachFileDto;
import com.wkbb.sports.model.*;

import java.util.List;
import java.util.Map;

public interface StudentArenaService extends BaseService<StudentArena>{

    ResultDTO<StudentArenaTeam> insertTeam(StudentArenaTeam info) throws Exception;

    ResultDTO joinArenaTeam(StudentArenaTeamStu info) throws Exception;

    List<StudentArenaTeam> getTeamListByPage(Map<String, Object> params) throws Exception;

    ResultDTO<List<StudentArenaTrain>> getTeamStuList(Map<String, Object> params) throws Exception;

    ResultDTO<PageInfo<StudentArenaTrain>> getStuListByPage(Long arenaId, int pageNo, int pageSize) throws Exception;

    //更新擂台信息
    boolean arenaChange(StudentArena info) throws Exception;

    PageInfo<StudentArena> getMyListByPage(Map<String, Object> params, int pageNo, int pageSize);

    List<StudentArenaTrain> getStuChallengeList(Map<String, Object> params);

    StudentArenaTrain getStuTrain(Long arenaId, Long studentId);

    ResultDTO<Boolean> validInviteCode(Long arenaId, Long studentId, String inviteCode);

    void addOfficialArena(StudentArena studentArena) throws Exception;

    ResultDTO<StudentArenaTeam> isFamilyArenaChange(Long arenaId, Long studentId, Long userId);

    ResultDTO<StudentArenaTeamStu> delArenaTeamStu(Long arenaTeamId, Long captainStudentId, Long studentId) throws Exception;


}
